package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.base.BaseDomain;
import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Empeval;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.PositionBase;

public abstract class BaseEmpeval extends BaseDomain implements Serializable {

	public BaseEmpeval() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmpeval(String eeId) {
		hashCode = 0x80000000;
		setEeId(eeId);
		initialize();
	}

	protected void initialize() {
	}

	public String getEeId() {
		return eeId;
	}

	public void setEeId(String eeId) {
		this.eeId = eeId;
		hashCode = 0x80000000;
	}

	public String getEeType() {
		return eeType;
	}

	public void setEeType(String eeType) {
		this.eeType = eeType;
	}

	public Date getEeStartDate() {
		return eeStartDate;
	}

	public void setEeStartDate(Date eeStartDate) {
		this.eeStartDate = eeStartDate;
	}

	public Date getEeEndDate() {
		return eeEndDate;
	}

	public void setEeEndDate(Date eeEndDate) {
		this.eeEndDate = eeEndDate;
	}

	public String getEeRate() {
		return eeRate;
	}

	public void setEeRate(String eeRate) {
		this.eeRate = eeRate;
	}

	public String getEeComments() {
		return eeComments;
	}

	public void setEeComments(String eeComments) {
		this.eeComments = eeComments;
	}

	public String getEeAttachment() {
		return eeAttachment;
	}

	public void setEeAttachment(String eeAttachment) {
		this.eeAttachment = eeAttachment;
	}

	public String getEeCreateBy() {
		return eeCreateBy;
	}

	public void setEeCreateBy(String eeCreateBy) {
		this.eeCreateBy = eeCreateBy;
	}

	public Date getEeCreateDate() {
		return eeCreateDate;
	}

	public void setEeCreateDate(Date eeCreateDate) {
		this.eeCreateDate = eeCreateDate;
	}

	public Date getEeLastChangeTime() {
		return eeLastChangeTime;
	}

	public void setEeLastChangeTime(Date eeLastChangeTime) {
		this.eeLastChangeTime = eeLastChangeTime;
	}

	public String getEeLastChangeBy() {
		return eeLastChangeBy;
	}

	public void setEeLastChangeBy(String eeLastChangeBy) {
		this.eeLastChangeBy = eeLastChangeBy;
	}

	public Employee getEmployeeByEeEmpNo() {
		return employeeByEeEmpNo;
	}

	public void setEmployeeByEeEmpNo(Employee employeeByEeEmpNo) {
		this.employeeByEeEmpNo = employeeByEeEmpNo;
	}

	public Department getDepartment() {
		return department;
	}

	public void setDepartment(Department department) {
		this.department = department;
	}

	public Employee getEmployeeByEeManager() {
		return employeeByEeManager;
	}

	public void setEmployeeByEeManager(Employee employeeByEeManager) {
		this.employeeByEeManager = employeeByEeManager;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Empeval))
			return false;
		Empeval empeval = (Empeval) obj;
		if (null == getEeId() || null == empeval.getEeId())
			return false;
		else
			return getEeId().equals(empeval.getEeId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getEeId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getEeId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public PositionBase getEePbNo() {
		return eePbNo;
	}

	public void setEePbNo(PositionBase eePbNo) {
		this.eePbNo = eePbNo;
	}

	public static String REF = "Empeval";
	public static String PROP_EE_LAST_CHANGE_BY = "eeLastChangeBy";
	public static String PROP_EE_END_DATE = "eeEndDate";
	public static String PROP_EE_COMMENTS = "eeComments";
	public static String PROP_EE_ID = "eeId";
	public static String PROP_EMPLOYEE_BY_EE_MANAGER = "employeeByEeManager";
	public static String PROP_EE_CREATE_BY = "eeCreateBy";
	public static String PROP_EE_START_DATE = "eeStartDate";
	public static String PROP_EE_CREATE_DATE = "eeCreateDate";
	public static String PROP_EE_RATE = "eeRate";
	public static String PROP_EE_ATTACHMENT = "eeAttachment";
	public static String PROP_EMPLOYEE_BY_EE_EMP_NO = "employeeByEeEmpNo";
	public static String PROP_EE_LAST_CHANGE_TIME = "eeLastChangeTime";
	public static String PROP_EE_TYPE = "eeType";
	public static String PROP_DEPARTMENT = "department";
	public static String PROP_EE_PB_NO = "eePbNo";
	private int hashCode;
	private String eeId;
	private String eeType;
	private Date eeStartDate;
	private Date eeEndDate;
	private String eeRate;
	private String eeComments;
	private String eeAttachment;
	private String eeCreateBy;
	private Date eeCreateDate;
	private Date eeLastChangeTime;
	private String eeLastChangeBy;
	private Employee employeeByEeEmpNo;
	private Department department;
	private Employee employeeByEeManager;
	private PositionBase eePbNo;

}
